home *** CD-ROM | disk | FTP | other *** search
/ Hottest 6 / Hottest 6 (1996)(PDSoft)[!].iso / pdsoft / demo_library / 4389.lha / PuzzlePits2 / PuzzlePits2.doc < prev    next >
Text File  |  1980-06-03  |  31KB  |  711 lines

  1.  
  2.     Documentation for PuzzlePits 2  v1.2
  3.  
  4.     By Abe Pralle Using AMOS
  5.     A Spartan Design production
  6.  
  7.     November 2, 1994
  8.  
  9. ----Copyright Notice------------------------------------------------------
  10.  
  11.     The program PuzzlePits 2, all supporting files, and these instructions
  12.     are Copyright 1992 Abe Pralle, All Rights Reserved.  Version 1.2 is
  13.     complete and freely distributable, but it is shareware.  If you like it,
  14.     please send the author a small fee ($5) as described in the
  15.     "Registering" section on line 625.
  16.  
  17.  
  18. ----Quick Start (for experienced game players)----------------------------
  19.  
  20.     Click on GAME after startup.
  21.     Click LEFT mouse button to walk single step.
  22.     Click RIGHT mouse button to walk automatically to the destination.
  23.     Move barrels and boxes by pushing against them for a few moments.
  24.     Push barrels over all blue floor tiles to complete the level.
  25.  
  26.     You will need to copy the following files to your own directories:
  27.  
  28.     Files needed in LIBS:  (found in PuzzlePits2/LIBS/)
  29.         Amos.library
  30.         Diskfont.library
  31.  
  32.     Files needed in FONTS:  (found in PuzzlePits2/FONTS/)
  33.         PPits2.font
  34.         PPits2  (directory and contents)
  35.  
  36.  
  37. ----Table of Contents (by line number)------------------------------------
  38.  
  39.     * Hardware Requirements........60
  40.  
  41.     * Startup......................77
  42.  
  43.     * Control Setup...............105
  44.  
  45.     * How to play.................166
  46.  
  47.     * The Level Editor............215
  48.  
  49.       * Command Summary...........380
  50.  
  51.       * List of Registers.........351
  52.  
  53.       * Table of Tile Values......420
  54.  
  55.     * Miscellaneous...............593
  56.  
  57.     * Registering.................625
  58.  
  59.     * Author's Note...............663
  60.  
  61.  
  62. ----Hardware Requirements-------------------------------------------------
  63.  
  64.     PuzzlePits 2 should run on any Amiga.  It has been tested on a 512k
  65.     A500 (v1.3) and a stock A1200.  However, to run on a 512k machine you
  66.     will need to deactivate any external drives, and there will be no sound
  67.     and not as much character animation.  1 Meg of ram is recommended.
  68.  
  69.     Ensure that the contents of your LIBS: and FONTS: directories contain
  70.     all the files from the LIBS and FONTS directories of PuzzlePits2.
  71.  
  72.     To start the game double-click on the program icon or set the current
  73.     directory to the PuzzlePits2 directory from the CLI and type
  74.     PuzzlePits2.
  75.  
  76.  
  77. ----Startup---------------------------------------------------------------
  78.  
  79.     When the game loads you will see the TITLE SCREEN shorty followed by
  80.     the MAIN SCREEN.  Here you can do five things:
  81.  
  82.     * CHANGE THE CURRENT LEVEL by clicking on the current level text shown
  83.       at the bottom of the screen or typing "n" (for name).  You will first
  84.       be asked to choose the series name.  Since version 1.2 only comes with
  85.       the series "Pit", that will be the only series you can initially use.
  86.       Next select the level number, which can range from 0 to 99 (though the
  87.       game comes with only levels 1 to 30).
  88.  
  89.     * VIEW THE INTRODUCTION by clicking on "INTRO" or typing "i".
  90.       This is a background story with pictures.  Computer Gaming World
  91.       thought it was contrived, and it is in a way, but I like it.
  92.  
  93.     * PLAY THE GAME by clicking on "GAME" or typing "g".  You will begin
  94.       on the CURRENT LEVEL.
  95.  
  96.  
  97.     * EDIT LEVELS by clicking on "EDIT" or typing "e".  You will be
  98.       presented with the editor screen, and the editor will attempt
  99.       to load the CURRENT LEVEL.  The edited level will be blank if the
  100.       CURRENT LEVEL does not exist.
  101.  
  102.     * QUIT the game by clicking on the STOP SIGN or by typing "q".
  103.  
  104.  
  105. ----Control Setup---------------------------------------------------------
  106.  
  107.     During the main game you may either use the mouse or the keyboard.
  108.     Mouse controls are explained first, followed by keyboard controls.
  109.  
  110.     WALKING
  111.     -------
  112.     When using the mouse, move the pointer around the guy onscreen until
  113.     the arrow points in the direction you wish him to move.  Then press the
  114.     left mouse button.
  115.  
  116.     PATHFINDING
  117.     -----------
  118.     Right-click over a terrain tile, and the guy will try to walk there
  119.     automatically avoiding obstacles.
  120.  
  121.     WAITING
  122.     -------
  123.     If the pointer is shaped like a dot, and thus directly over the guy,
  124.     pressing the left mouse button will cause you to wait where you are for
  125.     a turn.
  126.  
  127.     PICKING UP AND USING ITEMS
  128.     --------------------------
  129.     If you move over an item such as a gem or a key you will automatically
  130.     pick it up, and it will appear on the sidebar on the right side of the
  131.     screen.  Then you may left click on the item to use it. Click on it
  132.     again to stop using it (if necessary).  Each item's correct use is up
  133.     to you to determine.
  134.  
  135.     MISCELLANEOUS COMMANDS
  136.     ----------------------
  137.     The three icons at the top of the game screen do the following:
  138.       EYE       - Lets you scan the play area without physically moving
  139.                   the guy.  Click on the icon again to stop scanning.
  140.                   Note:  You cannot move the eye symbol over empty space.
  141.  
  142.       "RESTART" - Lets you reset the level whenever you screw up.
  143.  
  144.       "STOP"    - Quits the level completely and returns you to the main
  145.                   screen.
  146.  
  147.     KEYBOARD EQUIVALENTS
  148.     --------------------
  149.     The keyboard equivalents are as follows:
  150.  
  151.     ARROW KEYS      -       Move the guy around.
  152.     RETURN          -       Wait a turn, exit from a text message.
  153.     NUMERIC KEYPAD -        Activates items (keys are arranged as follows)
  154.                  ( = Look        ) = Restart    / = Quit
  155.                                                 9 = Use Yellow Gem
  156.                  4 = Use Red Gem 5 = Green Gem  6 = Blue Gem
  157.                  1 = Use Red Key 2 = Green Key  3 = Blue Key
  158.  
  159.     In addition, the 's' key may be used to turn the sound off and on, and
  160.     the 'm' key may be used to turn the music on and off.
  161.  
  162.     When the game first starts the 'i' key takes you to the intro, g =
  163.     game, e = edit, n = name change (level path + name), and q = quit
  164.     program.
  165.  
  166. ----How to Play-----------------------------------------------------------
  167.  
  168.     First of all, a basic description of the different things in the game
  169.     is in order.
  170.  
  171.     FLOOR - Grey octagons.  You stand on them.
  172.     FLOOR PLATES - Octagons outlined in blue.  If these exist on a level,
  173.       you must push a barrel over each one to finish the level.
  174.     SWITCHES - These are square plates on the floor activated by pressure.
  175.       Among other things, they can cause items and walls to appear and
  176.       disappear.
  177.     LOCKED SWITCHES - Switches that are outlined in the color of the key
  178.       needed to unlock them.
  179.     WATER - Impassable.
  180.     ARROWS - These are drawn on the floor, and they move any inanimate
  181.       object that is resting on them in the direction that they point.
  182.     GEMS - Red, green, blue, and yellow - you automatically pick these up,
  183.       and you can use them to do different things.
  184.     KEYS - After picking them up, you can unlock LOCKED SWITCHES with them.
  185.     BARRELS - Normally brown, they turn blue when they're over a FLOOR
  186.       PLATE.
  187.     BOXES - Square and pushable, they do not count towards solving the
  188.       level if they are pushed over a FLOOR PLATE.  But they have other
  189.       uses...
  190.     WALLS - Thick and impenetrable.
  191.     SIGNS - Walls with writing on them. Bump into them to see what they say.
  192.     PILLARS - Just a fancy wall.
  193.  
  194.     GOAL OF EACH LEVEL AND PLAY MECHANICS
  195.     -------------------------------------
  196.     For the first twenty levels, your main concern will be pushing a barrel
  197.     over every floor plate.  You can only push; you cannot pull except by
  198.     using gems that you may find.  You can only push a barrel or a box, and
  199.     only then if the space where you are pushing it to is empty.
  200.  
  201.     To unlock a LOCKED SWITCH, obtain a key of the appropriate color, stand
  202.     over the switch, and use the key by clicking on it.  The key will then
  203.     be removed from your possession.
  204.  
  205.     The four colors of magic gems do different things.  It is up to you to
  206.     discover exactly when and how to use them!
  207.  
  208.     COMPLETING A LEVEL
  209.     ------------------
  210.     When you complete a level you will be given the time it took you.
  211.     Occasionally you will receive a password that will allow you to edit the
  212.     level.  Most levels do not require a password to edit.
  213.  
  214.  
  215. ----The Level Editor------------------------------------------------------
  216.  
  217.     THE SETUP
  218.     ---------
  219.     Each level can be up to 21 by 21 squares wide.  Each square can have
  220.     something on the bottom (floor) and something on the top (like walls or
  221.     barrels).  You can only see part of the level you are editing at any one
  222.     time.  The green rectangle at the top left of the sidebar shows your
  223.     viewing window relative to the whole level.  You can change the area you
  224.     are viewing by dragging the green rectangle around.
  225.  
  226.     In the upper right of the sidebar are six buttons.  The arrows move or
  227.     translate the level from side to side and up and down, with wraparound.
  228.     Your actual view is not changing - the level itself is.  CLEAR ALL and
  229.     CLEAR TOP are two different ways of clearing the level.
  230.  
  231.     There are four buttons marked LOAD, SAVE, DELete, and QUIT.  The first
  232.     three use the current path and name of the level (shown at the bottom of
  233.     the screen).  Don't load "levels/Pit12", change the name to
  234.     "levels/Pit14", and expect Pit12 to be deleted from disk when you click
  235.     on DEL.  QUIT exits from the level editor to the main menu.  It does not
  236.     automatically save the level upon exiting.  If you click on SAVE a
  237.     requestor will appear, asking you to create the password for your level.
  238.     A person who does not know the password will not be able to edit the
  239.     level.  The password for a level is given to you when you complete the
  240.     level.  You do not have to create a password; if you do not wish to,
  241.     just press return at the requestor.  This feature is only to preserve
  242.     the challenge of a level.
  243.  
  244.     At the bottom of the screen are two lines of text.  The first is the
  245.     name of the level, as it appears on disk.  The default level name is
  246.     "levels/Pit", but you can start your own series of levels using whatever
  247.     name you wish.  To change the level that you are editing, click on the
  248.     current level name.  First you will be given a chance to change the
  249.     series and then you can change the level number.
  250.  
  251.     The lower line of text is the title of the level.  This usually has no
  252.     significance in the game.  It can be used to give a general idea of what
  253.     the level is about (i.e. Starting Out, Warehouse) or give a hint on how
  254.     to solve it.  Click on the title to edit it.
  255.  
  256.     EDITING
  257.     -------
  258.     On the lower right hand side of the screen is a group of tiles that
  259.     you will use to make your levels.  Left click on a tile to select it for
  260.     drawing.  With the ARROWS, GEMS, KEYS, and PLATES you can get different
  261.     directions or colors by multiple clicks.  Left-clicking on the main
  262.     editor screen will set your selected tile in that position.
  263.     Right-clicking will erase whatever tile is below the pointer.  There are
  264.     a few limitations dictated by the rules of the game.  For instance, you
  265.     cannot place a barrel over thin air.  There are two levels of objects in
  266.     PuzzlePits 2.  The lower level includes everything you stand on,
  267.     including gems.  The upper level includes walls, pillars, barrels,
  268.     boxes, and the guy.  Placing an upper level piece over a lower level
  269.     piece will not erase the lower level piece. For example, draw a row of
  270.     gems.  Now draw a wall piece over each one.  If you then right-click to
  271.     delete a wall, the gem will be revealed underneath it.
  272.  
  273.     Without going into programmable switches, there is only one way to solve
  274.     each level.  That is to push a barrel over each pressure plate.  You
  275.     don't need to do anything special in the editor to allow the level to be
  276.     solved in this fashion; just create as many barrels as there are blue
  277.     pressure plates.
  278.  
  279.     SWITCHES
  280.     --------
  281.     There are plenty of design options given by just the basic stuff,
  282.     as shown in the first twenty levels.  But sometimes you may wish for
  283.     something more.  This is where the programmable SWITCHES come in.  A
  284.     special programming language is part of PuzzlePits 2.
  285.  
  286.     The best way to learn how to program your own switches is to look at
  287.     at the code for the switches in the premade levels.  To get into the
  288.     switch editing mode, right-click on the drawing tiles.  Then left click
  289.     on the editing screen to edit or create a switch, or right click to
  290.     delete an existing switch.
  291.  
  292.     When editing a switch program, put all program statements one after
  293.     another, separated by a colon (:).  Press return when finished.
  294.     Pressing F10 will restore the code for the last switch that was edited.
  295.     Say you enter the following line:
  296.  
  297.      TEXT{Hello.}
  298.  
  299.     When you left click on the switch location again, you will see a blank
  300.     screen because you forgot to put a pound sign in.  Simply press F10 to
  301.     get "TEXT{Hello.}" back and insert the pound sign.
  302.  
  303.     Every command in this language ends with a pound sign (#).  Different
  304.     commands are separated with colons.  There are thirty six different
  305.     registers, RA to RZ and R0 to R9, that are available to be used during
  306.     programming.  An overview/summary of commands is below, followed by more
  307.     detailed explanations.
  308.  
  309.     COMMAND SUMMARY
  310.     ---------------
  311.     I, X1, X2, Y1 and Y2 can be any number from 0 to 200 or a register.
  312.     Rx can be any register.
  313.  
  314.     ON#               - Commands following this are only performed when the
  315.                         switch is activated (weight applied).
  316.     OFF#              - Commands following this are only performed when the
  317.                         switch is deactivated (weight removed).
  318.     MAP#X1,Y1,I       - Changes the level at position (X1,Y1) to tile I.
  319.                         Multiple changes can be separated with semicolons.
  320.     APPEAR#X1,Y1,I    - Same as MAP#, except changes "dissolve" in.
  321.     TPORT#X1,Y1=X2,Y2 - (Teleport) Swaps anything above ground (barrels,
  322.                          guy) at (X1,Y1) and (X2,Y2)
  323.     LET#Rx=X1         - Assigns a value to a register.
  324.     ADD#Rx,X1         - Adds a number or register to register Rx.
  325.     SUB#Rx,X1         - Subtracts a number or register from register Rx.
  326.                         Since only positive numbers from 0 to 200 can be
  327.                         entered, this is necessary for subtraction.
  328.     TEXT#{message}    - Displays the message inside curly brackets.
  329.     INPUT#{message}   - Displays message then gets player input.
  330.     IF#X1[<,>,=,!]X2  - Proceeds with program only if comparison is true.
  331.     IF$#{answer}      - Compares the text from INPUT# to text inside curly
  332.                         brackets, and proceeds with program only if they
  333.                         are equal.
  334.     ELSE#             - When an IF comparison is not true then the program
  335.                         will jump to the code after the ELSE#, if there IS
  336.                         an ELSE#.
  337.     ENDIF#            - There must be one of these for each IF# and IF$# -
  338.                         if the IF is not true and there is no ELSE, the
  339.                         program jumps to the command after the ENDIF#.
  340.     SHAVE#X1          - This reduces the last input text to a maximum length
  341.                         of X1.
  342.     SILENT#           - Prevents the switch from making the usual sound when
  343.                         it is activated.
  344.     END#              - Ends the level.
  345.     POP#              - Prevents the rest of the switch program from being
  346.                         evaluated and exits the switch program.
  347.     PIC#{picture}     - Displays a 32 color IFF picture.
  348.  
  349.     Some of the registers have special uses.  These are:
  350.  
  351.     R0  - Holds X position of guy (1 - 21).
  352.     R1  - Holds Y position of guy (1 - 21).
  353.     R2  - Amount of Red Gems you have.
  354.     R3  - # of Green Gems.
  355.     R4  - # of Blue Gems.
  356.     R5  - # of Yellow Gems.
  357.     R6  - # of Red Keys.
  358.     R7  - # of Green Keys.
  359.     R8  - # of Blue Keys.
  360.     R9  - Numeric value of last INPUT#{}.
  361.  
  362.     RO  - The number of the tile that is above ground (over) at (RX,RY).
  363.     RU  - The tile that is at ground level (under) at (RX,RY).
  364.     RX  - The X (horizontal) position of the switch each time the program
  365.           is run.  RX may be changed within the program to give a different
  366.           RO & RU for the duration of the program.
  367.     RY  - Same as RX, but in the vertical.
  368.  
  369.  
  370.  
  371.     Now for the detailed descriptions:
  372.  
  373.     NOTE:  Only the SWITCH and SIGN tiles will cause the program to check
  374.            for and run a switch program.  If you program a switch over a
  375.            regular floor tile, nothing will happen when you walk over it.
  376.            However, the switch program still exists at that location.  If
  377.            another switch changes the floor at that location to become
  378.            a switch, the program will become active.
  379.  
  380.     ON#
  381.         If you want a switch to do a certain thing only when it is
  382.     activated, put ON# in front of that part of the program.  The program
  383.     will run until it finds another ON# or OFF#.  If there is no ON#, then
  384.     the program will start at the beginning when the switch is activated.
  385.     You do not need an ON# or an OFF# in the program for a sign (the wall
  386.     with writing on it).  Only the first ON# in a program will be evaluated.
  387.  
  388.     Example:  ON#:ADD#R2,1     - When the switch is activated it gives you
  389.               one more red gem.  It does nothing when deactivated.
  390.  
  391.               ADD#R7,1:OFF#:SUB#R8,1     - When the switch is activated
  392.               you get another green key (because there is no on#, the
  393.               program is executed from the beginning).  When it is
  394.               deactivated, you lose a blue key.
  395.  
  396.     OFF#
  397.         The opposite of ON#.
  398.  
  399.     Example:  ON#:MAP#5,5,199:OFF#:MAP#5,5,100      - When activated,
  400.               the floor at location 5,5 is erased.  When deactivated,
  401.               a regular FLOOR tile is put at location 5,5.
  402.  
  403.     MAP#X1,Y1,I
  404.     MAP#X1,Y1,I1;X2,Y2,I2;X3,Y3,I3
  405.     APPEAR#X1,Y1,I
  406.  
  407.         These two commands both have the same effect, though APPEAR# is
  408.     more visually interesting.  The end result for both is to change the
  409.     level at location X1,Y1 to tile I.  The table of tiles is listed below.
  410.     The UNDER tiles only replace the ground level things, and the OVER tiles
  411.     only replace the above ground things.  You can separate multiple
  412.     change locations/values with semicolons.
  413.         There is a shortcut you can use rather than messing with all of the
  414.     numbers.  When you are editing a switch program, type MAP#* or APPEAR#*
  415.     and continue with editing.  When you press return you will be able
  416.     to draw in all of the changes for that command.  This is also handy for
  417.     finding out the number of a tile without having to resort to the
  418.     following table.
  419.  
  420.         TABLE OF TILES
  421.         --------------
  422.         *misc*
  423.  
  424.         0...............Clears everything at X1,Y1
  425.         99..............Clears the OVER portion of X1,Y1 (walls, barrels)
  426.         199.............Clears only the ground at X1,Y1 (floor,keys,gems)
  427.  
  428.         *UNDER*
  429.  
  430.         100.............Regular floor
  431.         102 - 105.......Red, Green, Blue, and Yellow gems
  432.         106 - 108.......Red, Green, and Blue keys
  433.         109 - 112.......Up, Right, Down, and Left conveyer arrows
  434.         113.............Box in water
  435.         114.............Blue pressure plate
  436.         115.............Regular switch
  437.         116 - 118.......Red, Green, and Blue locked switches
  438.         119.............Water
  439.  
  440.         *OVER*
  441.  
  442.         1...............Regular wall
  443.         2...............Sign wall
  444.         10..............Pillar
  445.         50..............Box
  446.         51..............Blue barrel
  447.         52..............Regular barrel
  448.         53..............Barrel in water
  449.         150.............The Guy (Kevin).  Use this value only for
  450.                         comparison; you cannot change a location to this
  451.                         value.
  452.  
  453.         Examples:
  454.                         MAP#5,3,50      - Puts a box at location (5,3)
  455.                         ON#:APPEAR#*:OFF#:APPEAR#*      - Allows you to
  456.                             edit what changes will be made when you step
  457.                             on the switch and when you step off it.
  458.  
  459.         NOTE:   If you are using the * command (MAP#*), only the unique
  460.                 changes will be remembered.  Thus if you want a barrel to
  461.                 be placed at (5,5) then you should make sure that there is
  462.                 not one there before you edit the switch program.
  463.  
  464.     TPORT#X1,Y1=X2,Y2
  465.     (Teleport)
  466.             This swaps the above-ground objects at locations X1,Y1 and
  467.     X2,Y2.
  468.  
  469.     Examples:   TPORT#R0,R1=5,5     - Teleports the guy to (5,5).  If there
  470.                was anything at (5,5), it is moved to the guy's old location.
  471.  
  472.                 MAP#3,3,99:TPORT#RX,RY=3,3      - This is a one way
  473.                teleport.  First anything above ground at (3,3) is cleared,
  474.                and then whatever was on the switch that activated the
  475.                program is teleported to (3,3).
  476.  
  477.     LET#Rx=X1
  478.  
  479.         This assigns a register a value.  When you start or restart a level,
  480.     the registers are cleared except R0-R9 and RO-RZ, so you don't need to
  481.     initialize any of the RA-RN registers to zero.  Don't assign any values
  482.     to RO or RU, since these registers may change from moment to moment.
  483.  
  484.     Examples:   LET#R2=3    - Gives you 3 red gems, regardless of how many
  485.                you had before.
  486.                 LET#RA=5:LET#RB=6:TPORT#R0,R1=RA,RB     - Teleports the guy
  487.                to location (5,6)
  488.                 LET#RX=1:LET#RY=1   - RO and RU now hold values of the tiles
  489.                at location (1,1)
  490.  
  491.  
  492.     ADD#Rx,X1
  493.  
  494.         This adds a number or a register to a register.
  495.     NOTE:  No numbers greater than 200 or less than 0 can be used by the
  496.     program.
  497.  
  498.     Examples:   LET#RA=2:ADD#R3,RA      - This gives you two more green
  499.                gems.  However, a simpler method would be to ADD#R3,2.
  500.  
  501.     SUB#Rx,X1
  502.  
  503.         The reverse of ADD#, this subtracts the number or register X1 from
  504.     register Rx.
  505.  
  506.     TEXT#{MESSAGE}
  507.  
  508.         This prints out the text between the two curly brackets.
  509.     NOTE:  You can embed "&Rx" to print out the contents of any register.
  510.            You can also cause a carriage return to be printed by placing
  511.            an "at" sign (@) within the message.
  512.  
  513.     Examples:   TEXT#{The ghost said "Boo!"}
  514.                 TEXT#{The location of the guy is&R0,&R1.}
  515.                 TEXT#{first line@second line}
  516.  
  517.     INPUT#{MESSAGE}
  518.  
  519.         This prints a message and waits for user input.  The input is stored
  520.     both as a string for use with the IF$ command and as a number in R9.
  521.  
  522.     Examples:   INPUT#{Teleport where horizontally(1-21)?}:LET#RA=R9:
  523.                  INPUT#{Teleport where vertically(1-21)?}:TPORT#R0,R1=RA,R9
  524.  
  525.                 INPUT#{What is the answer?}
  526.  
  527.     IF#X1{<,>,=,!}X2
  528.  
  529.         Compares X1 with X2.  If the result is true then the program
  530.     proceeds.  If it is false the program skips to an ELSE# or and ENDIF#,
  531.     whichever comes first.  Only one comparison sign is allowed.  If you
  532.     wish to check if X1 is not equal to X2, use a exclamation point (!) for
  533.     the comparison operator.  You do not have to have an ELSE#, but you do
  534.     need an ENDIF#.
  535.  
  536.     Examples:   INPUT#{What is 3+4?}:IF#R9=7:TEXT#{Right!}:ELSE#:
  537.                 TEXT#{Wrong!}:ENDIF#
  538.  
  539.                 INPUT#{What ISN'T 3+4?}:IF#R9!7:TEXT#{Right!}:ELSE#:
  540.                 TEXT#{Wrong!}:ENDIF#
  541.  
  542.     IF$#{ANSWER}
  543.  
  544.         Behaves just like the regular IF#, except that the comparison is
  545.     done between the last string to be input and ANSWER.  It uses regular
  546.     ELSE# and ENDIF# statements.  Use upper case letters for the comparison,
  547.     since all player input is converted into upper case.
  548.  
  549.     Examples:   INPUT#{What sat down beside Little Miss Muffet?}:
  550.                 IF$#{SPIDER}:TEXT#{Right!}:ELSE#:TEXT#{Wrong!}:ENDIF#
  551.  
  552.     SHAVE#X1
  553.  
  554.         This reduces the last text string input to a length of X1.  This
  555.     is useful for getting rid of suffixes.
  556.  
  557.     Examples:   INPUT#{What comes after daytime?}:SHAVE#5:IF$#{NIGHT}:
  558.                 TEXT#{Right!}:ENDIF#    - the player will get the answer
  559.                                         right whether he enters NIGHT or
  560.                                         NIGHTTIME
  561.  
  562.     SILENT#
  563.  
  564.         This prevents a switch from making the usual sound.  It comes in
  565.     handy when you don't want the player to know that a switch is being
  566.     activated offscreen.
  567.  
  568.     END#
  569.  
  570.         Ends the level, even if barrels aren't covering all of the pressure
  571.     plates.
  572.  
  573.     Examples:   INPUT#{Quit the level?}:SHAVE#1:IF$#{Y}:END#:ENDIF#
  574.  
  575.     POP#
  576.  
  577.         This exits from the switch program without evaluating the rest
  578.     of it.
  579.  
  580.     Examples:   INPUT#{Quit the level?}:SHAVE#1:IF$#{N}:POP#:ENDIF#:END#
  581.                 - This is an alternate way to do the example listed for
  582.                   END#
  583.  
  584.     PIC#{NAME}
  585.  
  586.         This displays a 32 color IFF picture.  Its name and path should
  587.     be included in the curly brackets.
  588.  
  589.     Examples:   PIC#{iff/win.iff}
  590.                 PIC#{PuzzlePits2:PuzzlePits2/iff/win.iff}
  591.  
  592.  
  593. ----Miscellaneous---------------------------------------------------------
  594.  
  595.     By default, the current level is set to "levels/Pit" when you load the
  596.     game.  You can change this by changing the current level (by clicking on
  597.     it) and then hitting the "w" key (write) to save the new default level.
  598.     For example, you could have the default levels directory be
  599.     "games:mylevels/MyPits".
  600.  
  601.     In this version you are limited to 100 switch programs and about
  602.     10k of storage space.  This should be enough for all but the largest
  603.     projects.  If you're editing a switch and the program suddenly quits on
  604.     you, it has probably run out of memory.  I doubt this will ever happen.
  605.  
  606.     Any gems or keys that you have left when a level ends will be carried
  607.     with you to the next level.  When you reset a level, the number of gems
  608.     and keys that you started the level with will be restored, so do not be
  609.     afraid to experiment.  If you STOP the game, and then restart, the
  610.     number of keys and gems will be reset to zero.
  611.  
  612.     I have attempted to avoid puzzles which have a solution that is only
  613.     obvious to me.  Every level included is solvable, with a little patience
  614.     and ingenuity.  Don't discount the level names as sources of clues,
  615.     either.
  616.  
  617.     You shouldn't have to worry about the game crashing if you edit a switch
  618.     program incorrectly.  If there is an error, the worst that will happen
  619.     is that the program for that switch will be blank.  I recommend that you
  620.     make a habit of clicking on a switch again after you just edited it.
  621.     If the program that appears isn't complete, just press F10 and find your
  622.     error.
  623.  
  624.  
  625. ----Registering------------------------------------------------------------
  626.  
  627.     I wrote this game on my own time.  It involved a lot of work.  I would
  628.     like to continue to support the shareware concept by programming more
  629.     cool games.  I can only do that with your support.
  630.  
  631.     If you like this game, please register with me by sending me $5 U.S.
  632.     equivalent, your name, and your address (including your email address if
  633.     you have one).  And if you don't pay, please don't play.
  634.  
  635.     There's a whole lot of levels that can be made with the editor, and I'd
  636.     like to see people making them.  I hereby give my permission for any
  637.     level created with the PuzzlePits 2 level editor to be distributed
  638.     however the creator of the level sees fit.  To aid in this process you
  639.     can send your levels to me via USPS or uuencoded mail and I will
  640.     periodically post a new archive file (containing nothing but levels) to
  641.     the Aminet.
  642.  
  643.     The below address should be good for several years to come, except for
  644.     the email address which will probably expire at the beginning of May,
  645.     1995 (hopefully I'll make a new one known).  I will be happy to answer
  646.     any questions or take a look at any problems - provided you've
  647.     registered, of course.
  648.  
  649.     Thanks for reading this, and enjoy the game!
  650.  
  651.     SEND ALL REGISTRATION FEES ($5 US) OR OTHER CORRESPONDENCE TO:
  652.  
  653.     Abe Pralle
  654.     PO Box 2059
  655.     Chinle, AZ  86503  USA
  656.  
  657.  
  658.     CONTACT VIA EMAIL (until 5/95):
  659.  
  660.     apr@pine.cse.nau.edu
  661.  
  662.  
  663. ----Author's Note (unessential reading, contains some rambling)------------
  664.  
  665.     Some of you may be wondering about the "2" part of PuzzlePits 2.  It
  666.     sounds a lot like a sequel; perhaps to PuzzlePits?  But you say you
  667.     never heard of plain PuzzlePits?  It is a slightly odd situation, but
  668.     allow me to explain.
  669.  
  670.     In the fall of '91 and the spring of '92 I wrote the game called
  671.     PuzzlePits.  It was similar to this game, but it wasn't as nice looking
  672.     and it didn't have the switches or the programming language.  Then, in
  673.     the summer of '92, I sent off a demo of it to a couple of public domain
  674.     distributors.  While I was waiting to hear something about it, my master
  675.     program disk went bad - the program along with it.  I was dismayed and
  676.     really really pi- well, I was dismayed to discover that my backup on the
  677.     same disk was unreadable, and the only other backup I had was ancient.
  678.     Suddenly my fantasies of lots of people sending me money was twisted
  679.     into a hideous nightmare.  What followed then has to be one of the most
  680.     intense, most stressful programming sessions anyone has ever undertaken.
  681.     In under 7 days I created and completed this program, PuzzlePits 2,
  682.     almost from scratch (I salvaged some of the old graphics).  While I was
  683.     at it, I added many different features and rethought the layout of the
  684.     screen.
  685.  
  686.     As it turns out, I needn't have hurried.  I still haven't heard anything
  687.     about the original PuzzlePits demo I sent out, and I truly believe that
  688.     for some reason it was never distributed to anyone.  But just in case
  689.     there is a demo floating around out there, I named this game "2" so that
  690.     people would know that it's better than the game shown in the demo.
  691.  
  692.     Well, almost exactly 1 year ago the November, 1993 issue of Computer
  693.     Gaming World came out, along with a mostly favorable review of
  694.     PuzzlePits 2.  Shortly thereafter I uploaded a one level demo of the
  695.     game to Aminet.  "Well great," I thought with naieve idealism, "Payback
  696.     time!"
  697.  
  698.     In one year I have made exactly $0.00 from sales.  Why the low figure?
  699.     I attribute it mainly to lack of publicity.  Looking back, I should
  700.     have sent the demo to every major PD distributer around.  I could still
  701.     do that, of course, but I am rapidly approaching a major turning point
  702.     in my life (college graduation), and I won't have the time to actively
  703.     support (ie copy disks) and promote this game.  That is why I am
  704.     releasing this freely distributed, uncrippled version.  Still, if
  705.     there's enough favorable response I will certainly consider creating
  706.     "PuzzlePits 3" or something similar.
  707.  
  708.     Well, I hope this go-round will show that the Amiga shareware market
  709.     is worthwhile.  Pleasant gaming.
  710.  
  711. END OF TEXT